iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
AI & Data

今晚,我想來點經典NLP論文。系列 第 2

[D2] 我說在座的各位都是__:TopicRank (Bougouin et al. 2013)

  • 分享至 

  • xImage
  •  

TL;DR

本文引入主題的概念,利用聚合式階層分群法(HAC) 將字面相近的詞彙歸入同一個主題,視為網路中的一個節點。將所有的主題節點構成全聯接圖,而邊的權重則是兩個主題中任兩詞的距離差的倒數之總和,接下來即利用 PageRank 計算每個主題節點的重要度。最後按照經驗法則,選出每個主題中的代表辭彙。此方法使用四個資料集進行實驗,於其中三個表現良好。

Paper Link

ACL 2013
https://www.aclweb.org/anthology/I13-1062/

Key Points

  1. 此文章旨在使用主題而非詞彙為排序的最小單位,其好處有二:其一為能夠較好的涵蓋所有牽涉到的主題;其二為使用全聯接圖能夠更好的捕捉主題之間的關係。

  2. 如何組成主題?把所有候選詞分群,這邊使用的是聚合式階層分群法(HAC),連接的策略用 average linkage,相似度量用詞袋向量的相似度,分群的切割點在於相似度大於 75%。

  3. 網路圖由主題節點構成全聯接圖,每條邊的權重是兩個主題中任兩詞的距離差的倒數之總和。
    https://ithelp.ithome.com.tw/upload/images/20200916/20128558nKolzBvRCo.png

  4. 將圖建構完成之後,就可以運行經典的PageRank演算法。
    https://ithelp.ithome.com.tw/upload/images/20200916/20128558BIbl681F4J.png

  5. 根據PageRank分數,選出前 k 個主題節點。

  6. 從主題中選出代表的詞彙作為候選詞,此文嘗試的方法有三種:

    1. 出現在文章最前面的。
    2. 出現次數最多的。
    3. 與其他詞相似度最高的。
  7. 資料集的部分,此文使用了四種不同資料集,分別是 Inspec、SemEval、WikiNews、DEFT,種類分別是摘要、論文、新聞、論文,其中後二者是法文。

  8. 第一個實驗比較的演算法有三種,分別是 TDIDF、TextRank 和 SingleRank。可以看到,在長文章時,表現得都較過去的演算法強,但在短文資料集 Inspec 則表現較差。(我猜可能是短文章比較沒有需要聚合的對象?)
    https://ithelp.ithome.com.tw/upload/images/20200916/20128558xpAX8bhrME.png

  9. 第二個個實驗觀察就現有的 SingleRank 加上 TopicRank 裡面用到的三個改進技巧,能夠提升多少表現。改進的部分分別是,以詞(而非字)為節點,以主題為節點,最後是用字來建構以位置差為邊權重的全聯接圖。這個實驗比較看不出個改進方法的效益。可觀察到的比較有趣的有兩個現象:

    1. 在處理短文資料(Inspec)時,引入主題(+topics)似乎比較沒有幫助。這正應證了前面的假設。
    2. 引入以位置差為邊權重的全聯接圖,在四個資料集上都沒有太顯著的提升。
      https://ithelp.ithome.com.tw/upload/images/20200916/20128558LwOemyTCWj.png
  10. 第三個實驗是測試不同的挑選主題代表詞的策略,令人意外的是,centroid 策略表現竟然如此之差。這代表主題中的詞彙其實各個是很不相近的?才會讓橋樑式的詞彙(比方說虛詞)成為 centroid?
    https://ithelp.ithome.com.tw/upload/images/20200916/20128558YgX5ZUeyN1.png

Thoughts

  1. 此方法跳脫了 TextRank 的思維,不再是利用 Window 中兩詞共現的次數,而是使用距離差來體現 Distributional semantics。
  2. 在讀到公式的時候想到:不知道是否有人把 TextRank 的 window 設成涵括整篇文章,也就是所有的詞彙都是相鄰的,然後與這篇一樣使用距離差來計算 pagerank?此文章說主題的全聯接圖可以更好的捕捉兩者之間的關係,那如果是詞彙的全聯接圖是否也有機會達到更好的效果?根據第 9.1 的實驗,看來應該是還好,不會有太多幫助。也可能是距離差的分數公式可以再改進。
  3. 在基本的 TextRank 的做法上,一般是先算完字的重要度,再合併成詞的重要度。在此實作上,如果我們的候選詞提名是取 unigram 到 trigram,裡面必定有大量相似的詞彙。而當某字的重要度特別突出時,必然所有包含該字的候選詞都會因此被排名到很前面,導致所呈現出來的概念太過相似,通常樸素的解決方法是後處理再套上一個 MMR,但效果不一定好。
  4. 這篇文章則是反過來做,先合併重複概念的候選詞,避免最後的困擾,另一方面,合併了主題中各個候選詞提供的重要度,更能抓出最重要的主題。
  5. 前面有提到,最後一個步驟是要選出主題中的代表詞,這把抽關鍵詞的流程拆成兩步,分別是主題外與主題內的重要度排序,是個不錯的思維,確實兩個步驟需要的重要度分數的考量應該是不一樣的。
  6. 只要任何分群的方法都可以分出主題,所以也可以用詞向量加上K-Means或者其他更有創意的做法。
  7. 引入分群的話必然也有機會產生錯誤傳遞到後面的步驟,但這就是取捨了。

上一篇
[D1] 偏心的 TextRank: PositionRank (Florescu and Caragea, 2017)
下一篇
[D3] Unsupervised Keyphrase Extraction with Multipartite Graphs (Florian Boudin, 2018)
系列文
今晚,我想來點經典NLP論文。17
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言